package com.ruoyi.college.service;

import java.util.List;
import com.ruoyi.college.domain.ResearchDirection;
import com.ruoyi.college.domain.vo.TrainingSubjectVo;
import com.ruoyi.trainingManagement.domain.TrainingProgramSubject;

/**
 * 学科研究方向Service接口
 * 
 * @author ruoyi
 * @date 2025-07-31
 */
public interface IResearchDirectionService 
{
    /**
     * 查询学科研究方向
     * 
     * @param id 学科研究方向主键
     * @return 学科研究方向
     */
    public ResearchDirection selectResearchDirectionById(String id);

    /**
     * 查询学科研究方向列表
     * 
     * @param researchDirection 学科研究方向
     * @return 学科研究方向集合
     */
    public List<ResearchDirection> selectResearchDirectionList(ResearchDirection researchDirection);

    /**
     * 新增学科研究方向
     * 
     * @param researchDirection 学科研究方向
     * @return 结果
     */
    public int insertResearchDirection(ResearchDirection researchDirection);

    /**
     * 修改学科研究方向
     * 
     * @param researchDirection 学科研究方向
     * @return 结果
     */
    public int updateResearchDirection(ResearchDirection researchDirection);

    /**
     * 批量删除学科研究方向
     * 
     * @param ids 需要删除的学科研究方向主键集合
     * @return 结果
     */
    public int deleteResearchDirectionByIds(String[] ids);

    /**
     * 删除学科研究方向信息
     * 
     * @param id 学科研究方向主键
     * @return 结果
     */
    public int deleteResearchDirectionById(String id);

    List<TrainingSubjectVo> selectSubjectListByProgramId(List<TrainingProgramSubject> list);
}
